The use of computer systems and computer-related technologies continues to increase at a rapid pace. This increased use of computer systems has influenced the advances made to computer-related technologies. Indeed, computer systems have increasingly become an integral part of the business world and the activities of individual consumers. Computer systems are used to carry out several business, industry, and academic endeavors.
One or more computer systems may be managed by a server. In some instances, a host computer software program may run on the computer system and provide the interaction between the server and the computer system. The host program may also interact with additional processes that are external to the computer system or that are executed on the computer system. For example, a host computer software program may interact with a plug-in process. A plug-in process may provide a certain function to the host program on demand. In some instances, the host software program provides services which the plug-in process can use. For example, the host program may provide a way for plug-ins to register themselves with the host program as well as a protocol for the exchange of data with the plug-ins.
Plug-ins and other components interacting with the host computer software program depend on the services provided by the host program. Open application programming interfaces (APIs) typically provide a standard interface, allowing third parties to create plug-ins that interact with the host program. However, third parties may create malicious plug-ins and other components that impede the performance of the host computer software program. In particular, these additional processes (such as plug-ins and external processes) may cause the host computer software program to crash or malfunction. As such, benefits may be realized by providing improved systems and methods for recovering a host computer program running on a computer system that interacts with a server managing the computer system.